package iks.event 
{
	import flash.events.Event;
	import flash.utils.ByteArray;
	
	public final class SocketChannelEvent extends Event 
	{
		public static const RECEIVEDATA		: String = "SocketChannelReceiveData";
		
		/**
		 * SocketChannel事件
		 * @param	type 事件的类型，可以作为 Event.type 访问
		 * @param	bubbles 确定 Event 对象是否参与事件流的冒泡阶段。 默认值为 false
		 * @param	cancelable 确定是否可以取消 Event 对象。 默认值为 false
		 * @param	message 接收和发送数据时的字节序列对象. 其他时候为null
		 */
		public function SocketChannelEvent(type : String, message : ByteArray = null) 
		{
			super(type);
			m_message = message;
		}
		
		/**
		 * 获得字节序列
		 */
		public function get message() : ByteArray
		{
			return m_message;
		}
		
		/**
		 * 复制SocketChannel类实例
		 * @return 返回一个新的SocketChannel对象, 与原始对象相同
		 */
		override public function clone() : Event 
		{
			return new SocketChannelEvent(type, m_message);
		}
		
		private var m_message : ByteArray = null;
	}

}